feat(chat): 채팅방 채팅 메세지 전달 로직 디버깅 (#78)#171
Conversation
|
Caution Review failedThe pull request is closed. Walkthrough채팅/알림의 Redis 팬아웃 경로와 WebSocket 라우팅을 정비: 채팅 전송 엔드포인트를 /chat/{roomId}/send로 변경하고 Redis 퍼블리시 중심 흐름으로 통합. 퍼블리셔/서브스크라이버 동작 및 채널명 규칙 수정. WS 스키마를 OpenAPI에 등록. 드래프트 시간 상수 변경과 일부 포맷/사소한 정리 포함. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant C as Client
participant Cmc as ChatMessagingController
participant Pub as ChatRedisPublisher
participant R as Redis
participant Sub as ChatRedisSubscriber
participant B as STOMP Broker
participant U as Subscribed Clients
C->>Cmc: /chat/{roomId}/send (payload)
Cmc->>Pub: publishToRoom(roomId, payload{...})
Pub->>Pub: payload["_src"]=nodeId
Pub-->>R: PUBLISH ChatChannels.roomChannel(roomId), json(payload)
R-->>Sub: onMessage(channel, body)
Sub->>B: convertAndSend(ChatChannels.toTopic(channel), payload)
B-->>U: /topic/chat/{roomId} 메시지 전달
note over Sub,B: 자기발 필터링 없음 (변경됨)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (14)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit